package dao

// 这是 PmsSkuStock 的全局公开dao对象，被service层调用!
var PmsSkuStockDao = pmsSkuStockDao{}

// 这是 pms_sku_stock表 的实体类
type PmsSkuStock struct {
	Id             int64   `json:"id" form:"id" v:"id"`
	LockStock      int32   `json:"lock_stock" form:"lock_stock" v:"lock_stock"` // 锁定库存
	LowStock       int32   `json:"low_stock" form:"low_stock" v:"low_stock"`    // 预警库存
	Pic            string  `json:"pic" form:"pic" v:"pic"`                      // 展示图片
	Price          float64 `json:"price" form:"price" v:"price"`
	ProductId      int64   `json:"product_id" form:"product_id" v:"product_id"`                // 关联pms_product(id)
	PromotionPrice float64 `json:"promotion_price" form:"promotion_price" v:"promotion_price"` // 单品促销价格
	Sale           int32   `json:"sale" form:"sale" v:"sale"`                                  // 销量
	SkuCode        string  `json:"sku_code" form:"sku_code" v:"sku_code"`                      // sku编码
	Sp1            string  `json:"sp1" form:"sp1" v:"sp1"`
	Sp2            string  `json:"sp2" form:"sp2" v:"sp2"`
	Sp3            string  `json:"sp3" form:"sp3" v:"sp3"`
	SpData         string  `json:"sp_data" form:"sp_data" v:"sp_data"` // 商品销售属性，json格式
	Stock          int32   `json:"stock" form:"stock" v:"stock"`       // 库存

}

// 注意:这是 PmsSkuStock 的私有dao对象，只能在dao层内使用!
type pmsSkuStockDao struct {
	InsertTemplate func(arg PmsSkuStock) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg PmsSkuStock) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                      `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (PmsSkuStock, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]PmsSkuStock, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 pms_sku_stock 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type PmsSkuStockPostman struct {
id
lock_stock
low_stock
pic
price
product_id
promotion_price
sale
sku_code
sp1
sp2
sp3
sp_data
stock

}*/

// 这是 pms_sku_stock 表的批量请求参数
type PmsSkuStockReq struct {
	List []PmsSkuStock `json:"list" form:"list"`
}
